<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        ES6 引入了一种新的原始数据类型 Symbol, 表示独一无二的值。它是javascript的第七种数据类型,是一种类似字符串的数据类型
        特点
            1.Symbol 的值是唯一的,用来解决命名冲突问题
            2.Symbol 值不能与其他数据进行运算
            3.Symbol 定义的对象属性不能使用 for...in 循环遍历, 但是可以用Reflect.ownKeys来获取对象的所以键名

     -->


    <script>

        // 创建Symbol
        let s = Symbol()
        console.log(s, typeof(s))
        // 描述字符串, 通过描述字符串可以理解值的作用, 类似注释
        let s2 = Symbol('尚硅谷')
        let s3 = Symbol('尚硅谷')
        console.log(s2 === s3) // false

        //Symbol.for 创建 这时候Symbol是一个对象 函数对象
        let s4 = Symbol.for('尚硅谷')
        let s5 = Symbol.for('尚硅谷')
        console.log(s4, typeof(s4))
        console.log(s4 === s5) // true

        // 不能与其他数据进行运算
        // let res = s + 100
        // let res = s > 100
        // let res = s + s

        //USONB you are so niubility

        //u undefind

        //s string symbol

        //o object

        //n null number

        //b boolean







    </script>
</body>
</html>